查看原文
其他

.NET 9 中没有 wasi 实验性支持

张善友 MVP dotNET跨平台
2024-11-17

2023年10月份写过一篇《本计划在 .NET 8 中推出的 WASI 推迟到 .NET 9 》[1],根据此问题[2],在 .NET 9 RTM 中似乎不会有wasi-experimental,仅使用 componentize-dotnet [3]的项目才能工作/将被更新,WASI 实验正在 NET 10 中继续进行。

2024年9月份字节码联盟发布了一篇文章《 使用 componentize-dotnet 为 .NET/C# 开发人员简化组件》[4],文章总结了componentize-dotnet项目,这是一个为.NET/C#开发者提供的工具,使得将代码编译为WebAssembly组件变得简单。这个由Bytecode Alliance发起的项目是一个NuGet包,允许从.NET应用程序创建完全AOT编译的组件,为.NET开发者提供了与Rust和TinyGo相当的组件体验。文章详细介绍了如何使用.NET 9 Preview 7和componentize-dotnet开始构建组件,包括安装必要的软件、配置NuGet以引用实验性包源、添加BytecodeAlliance.Componentize.DotNet.Wasm.SDK包到项目中,并展示了如何构建和运行一个简单的WebAssembly组件。此外,文章还探讨了如何简化组件工作流程,特别是如何使用WebAssembly Interface Type (WIT)定义来实现组件间的互操作性。最后,文章提到了.NET 9最终发布时将支持通过Mono编译器生成组件,以及componentize-dotnet项目将如何为用户提供选择NativeAOT-LLVM或Mono编译器的便利。文章鼓励有兴趣的开发者加入Bytecode Alliance社区并参与componentize-dotnet项目。

根据这篇文章的最新的适用于 .NET 9 RC 2 和 Wasmtime 26.0.0的代码示例: https://github.com/henrikrxn/webassembly-experiments/blob/main/dotnet-9/componentize-dotnet/README.md[5]

相关链接:

  • [1]本计划在 .NET 8 中推出的 WASI 推迟到 .NET 9 :https://www.cnblogs.com/shanyou/p/17739970.html

  • [2]在 .NET 9 中禁用构建wasi: https://github.com/dotnet/runtime/pull/108877

  • [3]componentize-dotnet:https://github.com/bytecodealliance/componentize-dotnet 

  • [4]使用 componentize-dotnet 为 .NET/C# 开发人员简化组件:https://bytecodealliance.org/articles/simplifying-components-for-dotnet-developers-with-componentize-dotnet

  • [5].NET 9 RC 2 和 Wasmtime 26.0.0的代码示例:https://github.com/henrikrxn/webassembly-experiments/blob/main/dotnet-9/componentize-dotnet/README.md

继续滑动看下一个
dotNET跨平台
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存